package com.freecloud.bitorrent.enums;

import cn.hutool.core.lang.Assert;

/**
 * @Author: maomao
 * @Date: 2022/7/15 3:47 PM
 */
public enum QueryEnum {
    /**
     * 测试目标地址是否正常
     */
    Ping("ping"),
    /**
     * 查询给定节点的联系信息
     */
    FindNode("find_node"),
    /**
     * 查询torrent infohash信息
     */
    GetPeers("get_peers"),
    /**
     * 正在下载的种子
     */
    AnnouncePeer("announce_peer");

    private String value;

    QueryEnum(String value) {
        this.value = value;
    }

    public static QueryEnum getQueryEnum(String value) {
        Assert.notBlank(value);
        for (QueryEnum queryEnum : QueryEnum.values()) {
            if (queryEnum.getValue().equals(value)) {
                return queryEnum;
            }
        }
        throw new RuntimeException("not find " + value);
    }

    public String getValue() {
        return value;
    }
}
